Jewel · 博客

🥞 Hello Dart!

Dart 简介

Dart 是 Google 开发的一门通用编程语言,本来是为了在浏览器中使用,用来取代 JavaScript,但无奈 JavaScript 虽然奇坑无比,但却异常坚挺,Dart 还是落下阵来。反而峰回路转,Flutter 的火爆让 Dart 重新焕发了第二春。

Dart 用途非常广泛,可以用来开发网页前端、服务器后端、桌面及客户端(Flutter)。Dart 的语法也很现代,对于有其他编程语言基础的人来说是很好上手的。Dart 同时支持 JITAOT 两种编译方式。

Dart 开发环境

下载 Dart SDK

Dart SDK 是开发 Dart 程序必不可少的工具。前往官网(https://dart.dev/get-dart)下载适合你电脑的 SDK。

Flutter SDK 中内置了 Dart SDK,如果已经下载了 Flutter SDK,那就可以直接开发 Dart 了。

安装后使用 dart --version 查看 Dart 是否安装成功。(本文所演示的 Dart 版本为 2.13.3,新旧版本功能和命令可能有差异)

通过 dart help 可以查看 Dart SDK 提供的一系列命令和功能。

A command-line utility for Dart development.

Usage: dart [<vm-flags>] <command|dart-file> [<arguments>]

Global options:
-h, --help                 Print this usage information.
-v, --verbose              Show additional command output.
--version              Print the Dart SDK version.
--enable-analytics     Enable analytics.
--disable-analytics    Disable analytics.

Available commands:
analyze   Analyze Dart code in a directory.
compile   Compile Dart to various formats.
create    Create a new Dart project.
fix       Apply automated fixes to Dart source code.
format    Idiomatically format Dart source code.
migrate   Perform null safety migration on a project.
pub       Work with packages.
run       Run a Dart program.
test      Run tests for a project.

Run "dart help <command>" for more information about a command.

选择 IDE

工欲善其事,必先利其器。有多种代码编辑器工具可以用来开发 Dart 程序:

可以直接在浏览器中编写和运行 Dart 代码。网址为:https://dartpad.dev

DartPad

IDEA 是 Jetbrains 公司开发的一款 IDE,可以通过 Dart 插件来支持 Dart 程序开发。

VS Code 是微软开源的一款轻量级 IDE,可以通过 Dart 插件来支持 Dart 程序开发。

第一个 Dart 程序

配置好环境后,就可以开始写第一个 Dart 程序了,Dart 版本的 Hello World,走起。

使用命令行

运行单个 Dart 文件

  1. 创建一个 hello.dart 文件
  2. 在文件中编写如下代码:
void main() {
  print('Hello, dart!'); // 在控制台打印一行字符串
}
  1. 在终端中输入 dart run hello.dart 来运行程序,会在 Dart VM 上执行代码。结果如下:
Hello, Dart!

创建完整工程

前面提到 create 命令是 Dart SDK 提供的创建工程脚手架的命令,接下来使用它来创建一个完整的 Dart 工程。在终端中输入如下命令:

dart create hello_dart_project

项目脚手架就创建出来了,使用命令:

cd hello_dart_project

进入工程目录,先来看下项目的结构:

├── CHANGELOG.md                 // Markdown 格式的文档,用来记录更新日志
├── README.md                    // Markdown 格式,介绍项目整体情况以及如何使用
├── analysis_options.yaml        // 保存一些特定的规则来检查项目代码,比如 Lint
├── bin                          // 存放 Dart 代码的目录
│   └── hello_dart_project.dart  // 编写 Dart 代码
├── pubspec.lock                 // 确定使用依赖的固定版本
└── pubspec.yaml                 // 申明项目中用到的一系列三方 Pub 的依赖

再来看下 bin/hello_dart_project.dart 中的内容:

void main(List<String> arguments) {
  print('Hello world!');
}

使用 dart run 命令来运行程序:

dart run bin/hello_dart_project.dart

命令中的 run 还可以省略,就像下面这样:

dart bin/hello_dart_project.dart

运行结果是一样的:

Hello world!

再回过头来看看代码,可以看到它和「运行单个 Dart 文件」一节中的代码是差不多的,有个差异点是它的 main 函数中多了一个形参 List<String> arguments,这个是用来在命令行运行程序时,可以携带一些初始参数。

例如,我们修改一下代码:

// eat_fruit.dart
void main(List<String> arguments) {
  print("I want to eat: $arguments");
}

在命令行中使用如下命令来运行程序:

dart run eat_fruit apple banana

程序的运行结果是:

I want to eat: [apple, banana]

使用 IDEA

  1. 下载安装 IDEA:前往 https://www.jetbrains.com/zh-cn/idea/download/ 下载 IDEA,进行安装(安装过程略)。
  2. 下载安装 Dart 插件:打开 IDEA ▸ Preferences ▸ Plugins ▸ Marketplace,搜索 Dart,找到 Dart 插件(如下图所示),下载后,重启 IDEA,这样 IDEA 就支持 Dart 开发了。

Dart Plugin

  1. 在 IDEA 中配置 Dart SDK 的位置:选择 Preferences ▸ Languages & Frameworks ▸ Dart,选择 Dart SDK 的目录,如果是使用 Homebrew 单独下载的 Dart SDK,位置一般为 /opt/homebrew/opt/dart/libexec(macOS),如果是下载了 Flutter SDK,位置一般为 flutter/bin/cache/dart-sdk(macOS,相对于 Flutter SDK 的路径)。

Dart SDK path

  1. 创建 Dart 新项目:选择 File ▸ New ▸ Project...,面板中选择 Dart,选择一个模板,填写项目名称和位置等信息,创建一个 Dart 工程。
    New Dart project

  2. 在 IDEA 中打开默认生成的 .dart 文件,点击右上角绿色三角形,运行程序,在控制台可以看到运行的结果。

Run Dart project

使用 VS Code

  1. 下载安装 VS Code:前往 https://code.visualstudio.com/ 官网下载 VS Code,并安装(过程略)
  2. 下载安装 Dart 扩展插件:点击侧边栏 Extensions,搜索 Dart,找到官方 Dart 语言插件,下载并安装

Dart VSC plugin

  1. 创建 Dart 项目:按 Commend+Shift+P 快捷键(macOS)打开命令面板,输入 Dart,选择 Dart: New Project,选择一个合适的模版,填写项目名称和路径,创建项目。

New Dart project in VSC

Select Dart template

  1. 在 VS Code 中打开默认生成的 .dart 文件,点击 main 上方的 Run 运行 Dart 程序,在控制台可以看到结果。

Run Dart app

小结

到这里,关于 Dart 最基本的情况和如何编写和运行 Dart 版的 Hello World 程序就聊的差不多了,接下来简单总结一下:

下一篇,将开始介绍 Dart 的语法知识。